package Vista;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.rmi.RemoteException;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import VO.ProveedorVO;

import conexion.ProxyIR;




/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ModificacionProveedorGUI extends javax.swing.JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = -5396461311913892255L;
	private JLabel codigoLbl;
	private JTextField descripcionTxt;
	private JButton salirProveedorBtn;
	private JButton agregarProveedorBtn;
	private JTextField direccionTxt;
	private JLabel direccionLbl;
	private JTextField codigoBusqueda;
	private JLabel mensaje;
	private JLabel jLabel1;
	private JButton buscarBtn;
	private JTextField valor;
	private JRadioButton descXPago;
	private JRadioButton descXProducto;
	private JRadioButton descXcanti;
	private JLabel condicionCompra;
	private JLabel descripcionLbl;
	private JTextField codigoTxt;
	static private ModificacionProveedorGUI _instance;
	private ProxyIR server;

	/**
	* Auto-generated main method to display this JFrame
	*/
	static public ModificacionProveedorGUI getInstance() {
		if (_instance == null) {			
			_instance = new ModificacionProveedorGUI();
		}
		
		return _instance;
	}	
	public ModificacionProveedorGUI() {
		super();
		server = ProxyIR.getInstance();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			this.setTitle("Modificar Proveedor");
			{
				codigoLbl = new JLabel();
				getContentPane().add(codigoLbl);
				codigoLbl.setText("Codigo");
				codigoLbl.setBounds(20, 68, 63, 28);
			}
			{
				codigoTxt = new JTextField();
				getContentPane().add(codigoTxt);
				codigoTxt.setBounds(68, 69, 129, 28);
			}
			{
				descripcionLbl = new JLabel();
				getContentPane().add(descripcionLbl);
				descripcionLbl.setText("Descripcion");
				descripcionLbl.setBounds(229, 68, 75, 28);
			}
			{
				descripcionTxt = new JTextField();
				getContentPane().add(descripcionTxt);
				descripcionTxt.setBounds(310, 69, 167, 28);
			}
			{
				direccionLbl = new JLabel();
				getContentPane().add(direccionLbl);
				direccionLbl.setText("Direccion");
				direccionLbl.setBounds(20, 128, 63, 28);
			}
			{
				direccionTxt = new JTextField();
				getContentPane().add(direccionTxt);
				direccionTxt.setBounds(78, 129, 400, 28);
			}
			{
				agregarProveedorBtn = new JButton();
				getContentPane().add(agregarProveedorBtn);
				agregarProveedorBtn.setText("Modificar");
				agregarProveedorBtn.setBounds(299, 254, 84, 28);
				agregarProveedorBtn.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						
					String codigo = codigoTxt.getText();
					String descripcion = descripcionTxt.getText();
					String direccion = direccionTxt.getText();
					Boolean descPorCantidad = descXcanti.isSelected();
					Boolean descPorProducto = descXProducto.isSelected();
					Boolean descPorPago = descXPago.isSelected();
					String valorDescuento = valor.getText();
					
					if(codigo == null){
						mensaje.setText("El codigo esta vacio");
						return;
					}else if(descripcion == null){
						mensaje.setText("La descripcion esta vacia");
						return;
					}else if(direccion == null){
						mensaje.setText("La direccion esta vacia");
						return;
					}
					String condCompra = null;
					if(descPorCantidad.booleanValue()){
						condCompra = "contado";

					}else if(descPorPago.booleanValue()){
						condCompra = "a30dias";
						
					}else if(descPorProducto.booleanValue()){							
						condCompra = "a60dias";												
					}else{
						condCompra = null;
						valorDescuento = null;
					}
					
//					try {
//						//server.actualizarProveedor(codigo,descripcion,direccion, condCompra, valorDescuento);
//					} catch (RemoteException e) {
//						mensaje.setText("Error al modificar el proveedor!");
//						e.printStackTrace();
//					}	
					//limpiar pantalla
					codigoTxt.setText("");
					descripcionTxt.setText("");
					direccionTxt.setText("");
					valor.setText("");
					}
				});
			}
			{
				salirProveedorBtn = new JButton();
				getContentPane().add(salirProveedorBtn);				
				getContentPane().add(getCondicionCompra());
				getContentPane().add(getDescXcanti());
				getContentPane().add(getdescXProducto());
				getContentPane().add(getDescXPago());
				getContentPane().add(getValor());
				getContentPane().add(getBuscarBtn());
				getContentPane().add(getJLabel1());
				getContentPane().add(getMensaje());
				getContentPane().add(getCodigoBusqueda());
				salirProveedorBtn.setText("Salir");
				salirProveedorBtn.setBounds(394, 254, 86, 28);
//				salirProveedorBtn.addActionListener(new ActionListener() {
//					public void actionPerformed(ActionEvent evt) {
//						ModificacionProveedorGUI.getInstance().setVisible(false);
//					}
//				});
			}
			pack();
			this.setSize(516, 339);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}	
	
	private JLabel getCondicionCompra() {
		if(condicionCompra == null) {
			condicionCompra = new JLabel();
			condicionCompra.setText("Condicion de compra:");
			condicionCompra.setBounds(20, 180, 157, 15);
			condicionCompra.setFont(new java.awt.Font("Tahoma",2,12));
		}
		return condicionCompra;
	}

	private JRadioButton getDescXcanti() {
		if(descXcanti == null) {
			descXcanti = new JRadioButton();
			descXcanti.setText("Contado");
			descXcanti.setBounds(20, 215, 92, 19);
			descXcanti.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					descXProducto.setSelected(false);
					descXPago.setSelected(false);
					
				}
			});
		}
		return descXcanti;
	}
	
	private JRadioButton getdescXProducto() {
		if(descXProducto == null) {
			descXProducto = new JRadioButton();
			descXProducto.setText("A 30 Dias");
			descXProducto.setBounds(128, 215, 114, 19);
			descXProducto.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					descXcanti.setSelected(false);
					descXPago.setSelected(false);
				}
			});
		}
		return descXProducto;
	}
	
	private JRadioButton getDescXPago() {
		if(descXPago == null) {
			descXPago = new JRadioButton();
			descXPago.setText("A 60 Dias");
			descXPago.setBounds(263, 215, 96, 19);
			descXPago.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					descXcanti.setSelected(false);
					descXProducto.setSelected(false);
				}
			});
		}
		return descXPago;
	}
	
	private JTextField getValor() {
		if(valor == null) {
			valor = new JTextField();
			valor.setBounds(382, 212, 96, 22);
		}
		return valor;
	}
	
	private JButton getBuscarBtn() 
	{
		if(buscarBtn == null) 
		{
			buscarBtn = new JButton();
			buscarBtn.setText("Buscar");
			buscarBtn.setBounds(311, 23, 78, 28);
			buscarBtn.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					String codigo = codigoBusqueda.getText();
					ProveedorVO prov = new ProveedorVO(codigo);
					
					try {
						prov = server.buscarProveedor(prov);
					} catch (RemoteException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}			
					if(prov == null){
						System.out.print("Error"); 
					}
					codigoTxt.setText(prov.getCuit());
					descripcionTxt.setText(prov.getNombre());
					direccionTxt.setText(prov.getDireccion());
//					if(prov.getCondiCompra() != null && prov.getCondiCompra().getCondicion() != null){
//						if("descPorCantidad".equals(prov.getCondiCompra().getCondicion()))
//							descXcanti.setSelected(true);
//						if("descPorPago".equals(prov.getCondiCompra().getCondicion()))	
//							descXPago.setSelected(true);
//						if("descPorProducto".equals(prov.getCondiCompra().getCondicion()))
//							descXProducto.setSelected(true);
						
						valor.setText(Float.toString(prov.getDescuento()));
						codigoTxt.setEnabled(true);
						
//					}
				}
			});
		}
		return buscarBtn;
	}

	private JLabel getJLabel1() {
		if(jLabel1 == null) {
			jLabel1 = new JLabel();
			jLabel1.setText("Codigo Proveedor:");
			jLabel1.setBounds(21, 23, 126, 28);
		}
		return jLabel1;
	}
	
	private JLabel getMensaje() {
		if(mensaje == null) {
			mensaje = new JLabel();
			mensaje.setBounds(20, 254, 267, 21);
		}
		return mensaje;
	}
	
	private JTextField getCodigoBusqueda() {
		if(codigoBusqueda == null) {
			codigoBusqueda = new JTextField();
			codigoBusqueda.setBounds(139, 23, 121, 28);
		}
		return codigoBusqueda;
	}

}